package day1.HomeWork;

import java.util.ArrayList;
import java.util.Collection;

/**
 * ClassName：Test6
 *
 * @Author：小鱼
 * @Create：2025-08-11 16:41
 */
public class Test6 {
    /*
    6.有两个集合list1和list2，list1中存放了1，2，3，4，5五个元素，list2中存放了4，5，6三个元素，按要求完成下列操作
        (1)打印list1和list2的交集（list1和list2中都有的元素）
        (2)打印list1和list2的差集（list1中有，list2中没有的元素）
    */
    public static void main(String[] args) {
        //list1中存放了1，2，3，4，5五个元素
        Collection<Integer> list1 = new ArrayList();
        for (int i = 1; i < 6; i++) {
            list1.add(i);
        }


        //list2中存放了4，5，6三个元素
        Collection<Integer> list2 = new ArrayList();
        for (int i = 4; i < 7; i++) {
            list2.add(i);
        }

        //存放交集元素
        Collection<Integer> nlist = new ArrayList();
        //打印list1和list2的交集
        for (int num:list1) {
            if(list2.contains(num)){
                nlist.add(num);
            }
        }
        System.out.println("list1和list2的交集为：");
        for (int num:nlist) {
            System.out.print(num+" ");
        }
        System.out.println();

        //方法二：list1.retainAll(list2);

        //存放差集元素
        Collection<Integer> clist = new ArrayList();
        //打印list1和list2的差集
        for (int num:list1) {
            if(!(list2.contains(num))){
                clist.add(num);
            }
        }
        System.out.println("list1和list2的差集为：");
        for (int num:clist) {
            System.out.print(num+" ");
        }
    }
}
